The present invention relates in general to the field of computing. More specifically, the present invention relates to systems and methodologies for improving the roll-out of software updates.
In modern computing systems, computer software is occasionally updated for a variety of reasons. The software might be updated to provide additional functionality, to maintain compatibility with new versions of an operating system, or to fix various issues. In consumer-based systems (such as mobile electronic devices and home computers), such software updates (also called a “patch” or a Program Temporary Fix (PTF)) are often “pushed” to users. In other words, the updates are automatically sent to the user. There may be several reasons for such a policy. For example, a software company might want to ensure that all their customers have the latest update for security reasons. A software company might want to have as few versions being used to make supporting software easier. A software company that makes games might want to ensure that all users have the same version of software because of possible changes in the rules or rosters of the game.
However, for computer systems that are not operated by consumers (such as mainframe computers), the users are typically more sophisticated and might not want software updated until they are ready to update the system. For example, an administrator of a mainframe system might not want to install a software update on a live system handling millions of transactions or dollars per day before thoroughly testing the software update.